<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>密码学笔记 | ChenDong Zhu&#39;s Blog</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="noodp" />
<meta name="Description" content="学习密码学的笔记"><link rel="prev" href="/2020/01/%E8%BF%90%E7%AD%B9%E5%AD%A6/" /><link rel="next" href="/2020/12/%E5%A4%87%E6%88%98%E7%BE%8E%E8%B5%9B/" /><link rel="canonical" href="/2020/09/%E5%AF%86%E7%A0%81%E5%AD%A6%E7%AC%94%E8%AE%B0/" />
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff"><meta property="og:title" content="密码学笔记" />
<meta property="og:description" content="学习密码学的笔记" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/2020/09/%E5%AF%86%E7%A0%81%E5%AD%A6%E7%AC%94%E8%AE%B0/" /><meta property="article:section" content="posts" />
<meta property="article:published_time" content="2020-09-14T09:00:00+08:00" />
<meta property="article:modified_time" content="2020-09-14T23:00:00+08:00" />

<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="密码学笔记"/>
<meta name="twitter:description" content="学习密码学的笔记"/>
<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "BlogPosting",
        "headline": "密码学笔记",
        "mainEntityOfPage": {
            "@type": "WebPage",
            "@id": "\/2020\/09\/%E5%AF%86%E7%A0%81%E5%AD%A6%E7%AC%94%E8%AE%B0\/"
        },"image": {
                "@type": "ImageObject",
                "url": "\/cover.png",
                "width":  800 ,
                "height":  600 
            },"genre": "posts","keywords": "密码学","wordcount":  1187 ,
        "url": "\/2020\/09\/%E5%AF%86%E7%A0%81%E5%AD%A6%E7%AC%94%E8%AE%B0\/","datePublished": "2020-09-14T09:00:00\u002b08:00","dateModified": "2020-09-14T23:00:00\u002b08:00","license": "This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.","publisher": {
                "@type": "Organization",
                "name": "xxxx",
                "logo": {
                "@type": "ImageObject",
                "url": "\/logo.png",
                "width":  127 ,
                "height":  40 
                }
            },"description": "学习密码学的笔记"
    }
    </script><link rel="stylesheet" href="/css/style.min.css"><link rel="stylesheet" href="/css/lib/fontawesome-free/all.min.css"><link rel="stylesheet" href="/css/lib/animate/animate.min.css"></head>
    <body><script>
            window.isDark = (window.localStorage && window.localStorage.getItem('theme')) === 'dark';
            window.isDark && document.body.classList.add('dark-theme');
        </script><div class="wrapper"><nav class="navbar">
    <div class="navbar-container">
        <div class="navbar-header animated bounceIn">
            <a href="/">ChenDong Zhu&#39;s Blog</a>
        </div>
        <div class="navbar-menu"><a class="menu-item" href="/posts" title="">文章</a><a class="menu-item" href="/tags" title="">标签</a><a class="menu-item" href="/categories" title="">分类</a><a class="menu-item" href="/about" title="">关于</a><a class="menu-item" href="https://hugo-loveit-en.netlify.com" title="English"><i class="fas fa-language fa-fw"></i></a><a href="javascript:void(0);" class="theme-switch"><i class="fas fa-adjust fa-rotate-180 fa-fw" title="切换主题"></i></a>
        </div>
    </div>
</nav><nav class="navbar-mobile">
    <div class="navbar-container">
        <div class="navbar-header">
            <div class="navbar-header-title animated bounceIn">
                <a href="/">ChenDong Zhu&#39;s Blog</a>
            </div>
            <div class="menu-toggle" id="menu-toggle">
                <span></span><span></span><span></span>
            </div>
        </div>
        <div class="navbar-menu" id="mobile-menu"><a class="menu-item" href="/posts" title="">文章</a><a class="menu-item" href="/tags" title="">标签</a><a class="menu-item" href="/categories" title="">分类</a><a class="menu-item" href="/about" title="">关于</a><a class="menu-item" href="https://hugo-loveit-en.netlify.com" title="English"></a><a href="javascript:void(0);" class="theme-switch"><i class="fas fa-adjust fa-rotate-180 fa-fw" title="切换主题"></i></a>
        </div>
    </div>
</nav><main class="main">
                <div class="container"><article class="page"><h1 class="post-title animated flipInX">密码学笔记</h1><div class="post-meta">
            <div class="post-meta-main"><a class="author" href="/" rel="author" target="_blank">
                    <i class="fas fa-user-circle fa-fw"></i>ChenDong Zhu
                </a>&nbsp;<span class="post-category">收录于&nbsp;<i class="far fa-folder fa-fw"></i><a href="/categories/%E5%AD%A6%E4%B9%A0/">学习</a>&nbsp;</span></div>
            <div class="post-meta-other"><i class="far fa-calendar-alt fa-fw"></i><time datetime=2020-09-14>2020-09-14</time>&nbsp;
                <i class="fas fa-pencil-alt fa-fw"></i>约 1187 字&nbsp;
                <i class="far fa-clock fa-fw"></i>预计阅读 3 分钟&nbsp;</div>
        </div><div class="post-toc" id="post-toc">
                <h2 class="post-toc-title">目录</h2>
                <div class="post-toc-content"><nav id="TableOfContents">
  <ul>
    <li><a href="#lesson-1">Lesson 1</a>
      <ul>
        <li><a href="#通信模型4种密码学攻击">通信模型&amp;4种密码学攻击</a></li>
        <li><a href="#密码学分类">密码学分类</a></li>
        <li><a href="#网络信息安全模型">网络信息安全模型</a></li>
        <li><a href="#密码学使用的技术分类">密码学使用的技术分类</a></li>
        <li><a href="#常规密码系统模型">常规密码系统模型</a></li>
        <li><a href="#密码分析">密码分析</a></li>
        <li><a href="#密码学的理论基础">密码学的理论基础</a></li>
        <li><a href="#量子密码学">量子密码学</a></li>
        <li><a href="#密码学研究内容">密码学研究内容</a>
          <ul>
            <li><a href="#分组密码">分组密码</a></li>
            <li><a href="#公钥密码">公钥密码</a></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</nav></div>
            </div>
            <div class="post-toc-mobile" id="post-toc-mobile">
                <details>
                    <summary>
                        <div class="post-toc-title">
                            <span>目录</span>
                            <span><i class="details icon fas fa-angle-down"></i></span>
                        </div>
                    </summary>
                    <div class="post-toc-content"><nav id="TableOfContentsMobile">
  <ul>
    <li><a href="#lesson-1">Lesson 1</a>
      <ul>
        <li><a href="#通信模型4种密码学攻击">通信模型&amp;4种密码学攻击</a></li>
        <li><a href="#密码学分类">密码学分类</a></li>
        <li><a href="#网络信息安全模型">网络信息安全模型</a></li>
        <li><a href="#密码学使用的技术分类">密码学使用的技术分类</a></li>
        <li><a href="#常规密码系统模型">常规密码系统模型</a></li>
        <li><a href="#密码分析">密码分析</a></li>
        <li><a href="#密码学的理论基础">密码学的理论基础</a></li>
        <li><a href="#量子密码学">量子密码学</a></li>
        <li><a href="#密码学研究内容">密码学研究内容</a>
          <ul>
            <li><a href="#分组密码">分组密码</a></li>
            <li><a href="#公钥密码">公钥密码</a></li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
</nav></div>
                </details>
            </div><div class="post-content"><a class="post-dummy-target" id="lesson-1"></a><h2>Lesson 1</h2>
<a class="post-dummy-target" id="通信模型4种密码学攻击"></a><h3>通信模型&amp;4种密码学攻击</h3>
<p><figure><img src="/svg/loading.min.svg" data-sizes="auto" data-src="/images/Cryptology/figure1.png" alt="通信模型与四种密码学攻击方式" class="lazyload"><figcaption class="image-caption">通信模型与四种密码学攻击方式</figcaption></figure></p>
<p>其中<strong>截获</strong>是被动攻击，其他是主动攻击，截获还可以再细分为</p>
<ul>
<li>消息内容分析</li>
<li>通信量分析</li>
</ul>
<a class="post-dummy-target" id="密码学分类"></a><h3>密码学分类</h3>
<p>根据攻防</p>
<ul>
<li>密码编码学</li>
<li>密码分析学（破译）</li>
<li>密码密钥学（近几年形成的学科）</li>
</ul>
<p>根据密码是否与位置有关</p>
<ul>
<li>分组密码体制（位置无关）</li>
<li>序列（流）密码体制（位置有关）</li>
</ul>
<p>根据密钥</p>
<ul>
<li>对称密码体制（同一密钥）</li>
<li>非对称密码体制</li>
</ul>
<a class="post-dummy-target" id="网络信息安全模型"></a><h3>网络信息安全模型</h3>
<p><figure><img src="/svg/loading.min.svg" data-sizes="auto" data-src="/images/Cryptology/figure2.png" alt="网络信息安全模型" class="lazyload"><figcaption class="image-caption">网络信息安全模型</figcaption></figure></p>
<a class="post-dummy-target" id="密码学使用的技术分类"></a><h3>密码学使用的技术分类</h3>
<ul>
<li><font color="red">基于数学的密码理论与技术</font>（公钥密码、分组密码、序列密码、认证码、数字签名、Hash函数、身份识别、密钥管理、PIK技术等）</li>
<li>非数学的密码理论与技术（信息隐藏、量子密码、基于生物特征的识别理论与技术等）</li>
</ul>
<a class="post-dummy-target" id="常规密码系统模型"></a><h3>常规密码系统模型</h3>
<p><figure><img src="/svg/loading.min.svg" data-sizes="auto" data-src="/images/Cryptology/figure3.png" alt="常规密码系统模型" class="lazyload"><figcaption class="image-caption">常规密码系统模型</figcaption></figure></p>
<p>其中$X$为明文，$Y$为密文，$K$为密钥，加密的过程为函数映射$Y=E_K(X)$,解密的过程为函数映射$X=D_K(X)$,我们令$\mathcal{M}$为明文空间，令$\mathcal{C}$为密文空间，令$\mathcal{K}$为密钥空间，加密编码$E_K$是一个$\mathcal{M}$到$\mathcal{C}$的一一变换，解密编码$D_K$是$E_K$的逆变换，一个加密系统为五元组$(\mathcal{M},\mathcal{C},\mathcal{K},E_K,D_K)$</p>
<a class="post-dummy-target" id="密码分析"></a><h3>密码分析</h3>
<blockquote>
<p>除了密钥之外，攻击者知道所有有关加密和解密的详细过程。——Kerckhoffs假设（柯克霍夫斯，1883）</p>
</blockquote>
<p>密码分析员对于密码系统的攻击能力分级如下：</p>
<ul>
<li>除密钥外，掌握密码系统的加密和解密算法</li>
<li>唯密码攻击——能搜集到密文信息</li>
<li>已知明文攻击——能搜集到当前密钥下的明-明文对</li>
<li>选择明文攻击——能搜集到当前密钥下的一些特定的明文对应的密文</li>
<li>密码分析员可以像合法用户一样发送加密的信息</li>
<li>密码分析员可以改变、截取或重新发送信息</li>
</ul>
<a class="post-dummy-target" id="密码学的理论基础"></a><h3>密码学的理论基础</h3>
<ul>
<li>信息理论——对称密码体制
<ul>
<li><a href="http://eecs.umich.edu/courses/eecs589/papers/shannon1949.pdf" target="_blank">Communication theory of secrecy system</a> Shannon🐂🍺！</li>
<li>Shannon在以上文章中用信息论的观点分析消息源、密钥源、接受和截获的密文、引进了不确定性、剩余度和唯一解距离作为度量密码系统安全性的测度</li>
</ul>
</li>
<li>复杂度理论——公钥密码体制</li>
</ul>
<a class="post-dummy-target" id="量子密码学"></a><h3>量子密码学</h3>
<p>核心研究内容：如何利用量子技术在量子信道上安全可靠地分配密钥（量子密钥分配QKD）,安全性由“测不准原理”和“单量子不可复制定理”</p>
<a class="post-dummy-target" id="密码学研究内容"></a><h3>密码学研究内容</h3>
<a class="post-dummy-target" id="分组密码"></a><h4>分组密码</h4>
<ul>
<li>运算（异或、加、减、乘、查表）</li>
<li>设计新的分组密码算法并提供安全性证明</li>
<li>S盒的设计与分析
<ul>
<li>好的S盒能有效抵抗线性密码分析和差分密码分析</li>
<li>利用组合数学、并行计算等方法和工具增强S盒的非线性度、差分均匀性等特性</li>
</ul>
</li>
<li>分组密码分析
<ul>
<li>截断差分分析、非线性密码分析、高阶差分密码分析、差分-线性密码分析、插值攻击</li>
</ul>
</li>
<li>密码算法的有效实现</li>
</ul>
<a class="post-dummy-target" id="公钥密码"></a><h4>公钥密码</h4>
<ul>
<li>有限域与椭圆函数</li>
<li>辫子群</li>
<li>新的陷门函数，并从理论上证明其安全性</li>
<li>高效实现
<ul>
<li>安全椭圆函数的选择</li>
<li>大整数运算的快速实现</li>
<li>大素数的产生与验证</li>
</ul>
</li>
<li>分析
<ul>
<li>大整数的分解</li>
</ul>
</li>
</ul>
</div><div class="post-footer" id="post-footer">
    <div class="post-info">
        <div class="post-info-line">
            <div class="post-info-mod">
                <span>本文于 2020-09-14 更新</span>
            </div>
            <div class="post-info-license"></div>
        </div>
        <div class="post-info-line">
            <div class="post-info-md"></div>
            <div class="post-info-share"><span><a href="//twitter.com/share?url=%2f2020%2f09%2f%25E5%25AF%2586%25E7%25A0%2581%25E5%25AD%25A6%25E7%25AC%2594%25E8%25AE%25B0%2f&amp;text=%e5%af%86%e7%a0%81%e5%ad%a6%e7%ac%94%e8%ae%b0&amp;via=" target="_blank" title="分享到 Twitter">
            <i class="fab fa-twitter fa-fw"></i>
        </a><a href="//www.facebook.com/sharer/sharer.php?u=%2f2020%2f09%2f%25E5%25AF%2586%25E7%25A0%2581%25E5%25AD%25A6%25E7%25AC%2594%25E8%25AE%25B0%2f" target="_blank" title="分享到 Facebook">
            <i class="fab fa-facebook-square fa-fw"></i>
        </a><a href="//reddit.com/submit?url=%2f2020%2f09%2f%25E5%25AF%2586%25E7%25A0%2581%25E5%25AD%25A6%25E7%25AC%2594%25E8%25AE%25B0%2f&amp;title=%e5%af%86%e7%a0%81%e5%ad%a6%e7%ac%94%e8%ae%b0" target="_blank" title="分享到 Reddit">
            <i class="fab fa-reddit fa-fw"></i>
        </a><a href="//service.weibo.com/share/share.php?url=%2f2020%2f09%2f%25E5%25AF%2586%25E7%25A0%2581%25E5%25AD%25A6%25E7%25AC%2594%25E8%25AE%25B0%2f&amp;appkey=&amp;title=%e5%af%86%e7%a0%81%e5%ad%a6%e7%ac%94%e8%ae%b0" target="_blank" title="分享到 Weibo">
            <i class="fab fa-weibo fa-fw"></i>
        </a></span></div>
        </div>
    </div>

    <div class="post-info-more">
        <section><span class="tag">
                        <a href="/tags/%E5%AF%86%E7%A0%81%E5%AD%A6/"><i class="fas fa-tag fa-fw"></i>&nbsp;密码学</a>&nbsp;
                    </span></section>
        <section>
            <span><a href="javascript:window.history.back();">返回</a></span>&nbsp;|&nbsp;<span><a href="/">主页</a></span>
        </section>
    </div>

    <div class="post-nav"><a href="/2020/01/%E8%BF%90%E7%AD%B9%E5%AD%A6/" class="prev" rel="prev" title="最优化理论"><i class="fas fa-angle-left fa-fw"></i>最优化理论</a>
            <a href="/2020/12/%E5%A4%87%E6%88%98%E7%BE%8E%E8%B5%9B/" class="next" rel="next" title="备战美赛">备战美赛<i class="fas fa-angle-right fa-fw"></i></a></div>
</div><div class="post-comment"></div>
    </article></div>
            </main><footer class="footer">
    <div class="copyright"><div class="copyright-line">由 <a href="https://gohugo.io/" target="_blank" rel="external nofollow noopener noreffer">Hugo</a> 强力驱动 | 主题 - <a href="https://github.com/dillonzq/LoveIt" target="_blank" rel="external nofollow noopener noreffer">LoveIt<i class="far fa-heart fa-fw"></i></a>
        </div>

        <div class="copyright-line"><i class="far fa-copyright fa-fw"></i><span itemprop="copyrightYear">2020 - 2021</span><span class="author" itemprop="copyrightHolder">&nbsp;<a href="/" target="_blank">ChenDong Zhu</a></span>&nbsp;|&nbsp;<span class="license"><a rel="license external nofollow noopener noreffer" href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank">CC BY-NC 4.0</a></span><span class="icp-splitter">&nbsp;|&nbsp;</span><br class="icp-br"/>
                <span class="icp"><a href="http://beian.miit.gov.cn">苏ICP备2021012540号</a></span></div>
    </div>
</footer></div><a href="#" class="dynamic-to-top" id="dynamic-to-top" data-scroll>
            <span>&nbsp;</span>
        </a><script src="/js/lib/jquery/jquery.slim.min.js"></script><script src="/js/lib/lazysizes/lazysizes.min.js"></script><script src="/js/lib/smooth-scroll/smooth-scroll.polyfills.min.js"></script><script>window.scroll = new SmoothScroll('[data-scroll]', {speed: 300, speedAsDuration: true});</script><link rel="stylesheet" href="/css/lib/katex/katex.min.css"><script src="/js/lib/katex/katex.min.js"></script><script defer src="/js/lib/katex/auto-render.min.js"></script><link rel="stylesheet" href="/css/lib/katex/copy-tex.min.css"><script defer src="/js/lib/katex/copy-tex.min.js"></script><script defer src="/js/lib/katex/mhchem.min.js"></script><script>
        document.addEventListener("DOMContentLoaded", function () {
            renderMathInElement(document.body, {
                delimiters: [
                    { left: "$$", right: "$$", display: true },
                    { left: "\\(", right: "\\)", display: false },
                    { left: "\\[", right: "\\]", display: true },{ left: "$", right: "$", display: false },]
            });
        });
    </script>
    <script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script>

    <script>
        var sUserAgent = navigator.userAgent.toLowerCase();
        if (/ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(sUserAgent)){
            
        }
        else{
            L2Dwidget.init({
                
                "model": {
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                                
                    jsonPath: "/data/Shinomiya_Kaguya/model.model.json",
                    "scale": 1
                },
                
                "display": {
                    "position": "left",
                    "width": 150,
                    "height": 300,
                    "hOffset": 0,
                    "vOffset": 0
                },
                "mobile": {
                    "show": true,
                    "scale": 0.5
                },
                "react": {
                    "opacityDefault": 1,
                    "opacityOnHover": 0.2
                }
            });
                function changebottom() {
                            var canvas_temp = document.getElementById("live2dcanvas");
            canvas_temp.style="position: fixed; opacity: 1; left: 0px; bottom: -100px; z-index: 99999; pointer-events: none;";
                }

            window.onload=changebottom;
        }


    </script><script src="/js/blog.min.js"></script>
</body>
</html>